package com.crm.common.crm.entity.VO;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 仪表盘vo
 *
 * @author litianyi
 */
@ApiModel("仪表盘")
@Data
public class DashBoardVO {

    @ApiModelProperty("当前客户数")
    private CustomerData customerData;

    @ApiModelProperty("客服添加微信数")
    private AddWechatData addWechatData;

    @ApiModelProperty("客户报课")
    private CustomerApplyData customerApplyData;

    @ApiModelProperty("销售加微信数")
    private SalesAddWechatData salesAddWechatData;

    @ApiModelProperty("进群客户数")
    private CustomerJoinGroupData customerJoinGroupData;

    @ApiModelProperty("销售客户成交数")
    private DealSuccessfulData dealSuccessfulData;

    @ApiModelProperty("线索成交数")
    private DealSuccessfulLeads dealSuccessfulLeads;

    @ApiModelProperty("VIP课程复购率")
    private RepurchaseData repurchaseData;

    @ApiModelProperty("转介绍")
    private TransferIntroductionData transferIntroductionData;

    @ApiModelProperty("定稿成交率")
    private FinalizedDealRateData finalizedDealRateData;

    @ApiModelProperty("合同金额")
    private ContractAmountData contractAmountData;

    @ApiModelProperty("回款金额")
    private PayBackData payBackData;

    @Data
    @ApiModel("当前客户数")
    public static class CustomerData {

        @ApiModelProperty("当前客户数")
        private Integer data;

        @ApiModelProperty("环比")
        private String mom;

        @ApiModelProperty("已转换")
        private Integer converted = 0;

        @ApiModelProperty("未转换")
        private Integer notConverted = 0;
    }

    @ApiModel("客服添加微信数")
    @Data
    public static class AddWechatData {

        @ApiModelProperty("客服添加微信数")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @ApiModel("客户报课")
    @Data
    public static class CustomerApplyData {

        @ApiModelProperty("客户报课")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @Data
    @ApiModel("销售加微信数")
    public static class SalesAddWechatData {

        @ApiModelProperty("销售加微信数")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @Data
    @ApiModel("进群客户数")
    public static class CustomerJoinGroupData {

        @ApiModelProperty("进群客户数")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @Data
    @ApiModel("销售客户成交数")
    public static class DealSuccessfulData {

        @ApiModelProperty("销售客户成交数")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @Data
    @ApiModel("线索成交数")
    public static class DealSuccessfulLeads {

        @ApiModelProperty("线索成交数")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @Data
    @ApiModel("VIP课程复购率")
    public static class RepurchaseData {

        @ApiModelProperty("VIP课程复购数")
        private Integer data;

        @ApiModelProperty("复购率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @Data
    @ApiModel("定稿成交率")
    public static class FinalizedDealRateData {

        @ApiModelProperty("定稿成交率")
        private Integer data;

        @ApiModelProperty("成交率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @Data
    @ApiModel("转介绍")
    public static class TransferIntroductionData {

        @ApiModelProperty("转介绍")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @Data
    @ApiModel("合同金额")
    public static class ContractAmountData {

        @ApiModelProperty("合同金额")
        private BigDecimal data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }

    @Data
    @ApiModel("回款金额")
    public static class PayBackData {

        @ApiModelProperty("回款金额")
        private BigDecimal data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("环比")
        private String mom;
    }
}
